home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / CHPCO.z / CHPCO
Text File  |  1996-03-14  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. CCCCHHHHPPPPCCCCOOOO((((3333FFFF))))                                                            CCCCHHHHPPPPCCCCOOOO((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CHPCO   - CHPCO factors a complex Hermitian matrix stored in packed form
  10.      by elimination with symmetric pivoting and estimates the condition of the
  11.      matrix.
  12.  
  13.      if  RCOND  is not needed, CHPFA is slightly faster.  To solve  A*X = B ,
  14.      follow CHPCO by CHPSL.  To compute  INVERSE(A)*C , follow CHPCO by CHPSL.
  15.      To compute  INVERSE(A) , follow CHPCO by CHPDI.  To compute
  16.      DETERMINANT(A) , follow CHPCO by CHPDI.  To compute  INERTIA(A), follow
  17.      CHPCO by CHPDI.
  18.  
  19.  
  20. SSSSYYYYNNNNOOOOPPPPSSSSYYYYSSSS
  21.       SUBROUTINE CHPCO(AP,N,KPVT,RCOND,Z)
  22.  
  23. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  24.      On Entry
  25.  
  26.      AAAAPPPP COMPLEX (N*(N+1)/2)
  27.         the packed form of a Hermitian matrix  A .  The
  28.         columns of the upper triangle are stored sequentially
  29.         in a one-dimensional array of length  N*(N+1)/2 .
  30.         See comments below for details.
  31.  
  32.      NNNN INTEGER
  33.         the order of the matrix  A .  Output
  34.  
  35.      AAAAPPPP a block diagonal matrix and the multipliers which
  36.         were used to obtain it stored in packed form.
  37.         The factorization can be written  A = U*D*CTRANS(U)
  38.         where  U  is a product of permutation and unit
  39.         upper triangular matrices , CTRANS(U) is the
  40.         conjugate transpose of  U , and  D  is block diagonal
  41.         with 1 by 1 and 2 by 2 blocks.  KVPT    INTEGER(N)
  42.         an integer vector of pivot indices.
  43.  
  44.      RRRRCCCCOOOONNNNDDDD REAL
  45.         an estimate of the reciprocal condition of  A .
  46.         For the system  A*X = B , relative perturbations
  47.         in  A  and  B  of size  EPSILON  may cause
  48.         relative perturbations in  X  of size  EPSILON/RCOND .
  49.         If  RCOND  is so small that the logical expression
  50.         1.0 + RCOND .EQ. 1.0
  51.         is true, then  A  may be singular to working
  52.         precision.  In particular,  RCOND  is zero  if
  53.         exact singularity is detected or the estimate
  54.         underflows.
  55.  
  56.      ZZZZ COMPLEX(N)
  57.         a work vector whose contents are usually unimportant.
  58.         If  A  is close to a singular matrix, then  Z  is
  59.         an approximate null vector in the sense that
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCHHHHPPPPCCCCOOOO((((3333FFFF))))                                                            CCCCHHHHPPPPCCCCOOOO((((3333FFFF))))
  71.  
  72.  
  73.  
  74.         NORM(A*Z) = RCOND*NORM(A)*NORM(Z) .  Packed Storage The following
  75.      program segment will pack the upper triangle of a Hermitian matrix.
  76.         K = 0
  77.         DO 20 J = 1, N
  78.         DO 10 I = 1, J
  79.         K = K + 1
  80.         AP(K) = A(I,J)
  81.         10    CONTINUE
  82.         20 CONTINUE LINPACK.  This version dated 08/14/78 .  Cleve Moler,
  83.      University of New Mexico, Argonne National Lab.  Subroutines and
  84.      Functions LINPACK CHPFA BLAS CAXPY,CDOTC,CSSCAL,SCASUM Fortran
  85.      ABS,AIMAG,AMAX1,CMPLX,CONJG,IABS,REAL
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.